package br.com.exemplo.vendas.negocio.ejb ;

import java.rmi.RemoteException;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.com.exemplo.vendas.negocio.dao.DaoFactory;
import br.com.exemplo.vendas.negocio.ejb.interfaces.ComprasLocal;
import br.com.exemplo.vendas.negocio.ejb.interfaces.ComprasRemote;
import br.com.exemplo.vendas.negocio.entity.Compra;
import br.com.exemplo.vendas.negocio.model.vo.ComprasVO;
import br.com.exemplo.vendas.util.dto.ServiceDTO;
import br.com.exemplo.vendas.util.exception.LayerException;

@Stateless
public class ComprasBean implements ComprasRemote, ComprasLocal
{
	@PersistenceContext( unitName = "Vendas" )
	EntityManager em ;

	@Override
	public ServiceDTO listarCompras(ServiceDTO requestDTO)
			throws LayerException, RemoteException {
		
		ServiceDTO responseDTO = new ServiceDTO( ) ;
		Compra compra = null ;
		List<Compra> lista = DaoFactory.getComprasDAO( em ).listarCompras();
		ComprasVO[] listaCompras = null;
		
		if (( lista != null ) && ( !lista.isEmpty() ))
		{
			listaCompras = new ComprasVO[lista.size()];
			for (int i = 0; i < lista.size( ); i++)
			{
				compra = (Compra) lista.get( i ) ;
				ComprasVO compraVO = new ComprasVO(compra.getId(), compra.getNumero(), compra.getData(), 
						compra.getResponsavel(), compra.getSituacao(), compra.getValor(), null, null);
				listaCompras[ i ] = compraVO ;
			}
		}
		responseDTO.set( "listaCompra", listaCompras ) ;
		responseDTO.set( "resposta", new Boolean( true ) ) ;
		return responseDTO ;
	}

	
}
